home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / mus / edit / PlotCMD.lha / plotcmd / cmd_80-0-7F.omed < prev    next >
Text File  |  1999-02-16  |  1KB  |  53 lines

  1. /*
  2.     ARexx script for use with PlotCMD
  3.     (PlotCMD is a MUIRexx script for use with OctaMED Soundstudio)
  4.     Read the PlotCMD doc for details
  5. */
  6.  
  7. ADDRESS OCTAMED_REXX
  8. OPTIONS RESULTS
  9.  
  10. PARSE ARG cmd                    /* Argument = command in hex (ex: 0C) */
  11.  
  12. IN_SELECT LAST
  13. CALL checkifsample()
  14.  
  15. SA_GETSAMPLELENGTH VAR samplen
  16. ED_GETNUMLINES VAR blocklen
  17.  
  18. len=MIN(samplen, blocklen)
  19.  
  20. ED_SETDATA_UPDATE OFF
  21.  
  22. oldlevel=666                    /* 666 = a value out of range */
  23.  
  24. DO i=0 TO len-1
  25.    SA_GETSAMPLE OFFSET i
  26.    level=(RESULT)/256                /* Convert to -128-127 values */
  27.    level=TRUNC(level, 0)            /* remove decimals */
  28.    IF (level~=oldlevel) THEN            /* just edit when value changes */
  29.       ED_SETDATA LINE i CMDNUM X2D(cmd) CMDLVL level
  30.    ELSE
  31.       ED_SETDATA LINE i CMDNUM 0 CMDLVL 0
  32.    oldlevel=level
  33. END
  34.  
  35. ED_SETDATA_UPDATE ON
  36. ED_SETDATA_UPDATE
  37.  
  38. EXIT
  39.  
  40.  
  41.  
  42.  
  43. /*              P R O C E D U R E S
  44. -----------------------------------------------------*/
  45.  
  46. checkifsample: PROCEDURE
  47.    IN_GETTYPE VAR type
  48.    IF ~(type == SAMPLE | type == SAMPLE16) THEN DO
  49.       WI_REQUEST '"No sample!"' '"Ok"'
  50.       EXIT
  51.    END
  52. return
  53.